home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 335_03 / asz80.txt < prev   
Text File  |  1990-12-02  |  25KB  |  859 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        A.  Appendix_for_asz80_Frankenstein_Assembler
  9.  
  10.        A.1  Pseudo_Operations
  11.  
  12.        A.1.1  Standard_Pseudo_Operation_Mnemonics
  13.  
  14.             End                                END
  15.             File Inclusion                     INCL INCLUDE
  16.             If                                 IF
  17.             Else                               ELSE
  18.             End If                             ENDI
  19.             Equate                             EQU
  20.             Set                                SETEQU
  21.             Org                                ORG
  22.             Reserve Memory                     RESERVE RMB
  23.             Define Byte Data                   BYTE DB FCB
  24.             Define Word Data                   DW FDB WORD
  25.             Define String Data                 FCC STRING
  26.             Define Character Set Translation   CHARSET
  27.             Define Character Value             CHARDEF CHD
  28.             Use Character Translation          CHARUSE
  29.  
  30.        A.1.2  Machine_Dependent_Pseudo_Operations
  31.  
  32.        A.1.2.1  Instruction_Set_Selection
  33.  
  34.             CPU string
  35.  
  36.        The instruction set can be specified in the source file with
  37.        the CPU pseudooperation.  The string, delimited by quotes or
  38.        apostrophes, is scanned for a substring which selects which
  39.        instruction set is used.  When the program is invoked, this
  40.        operation is performed on the name of the program, then the
  41.        -p optional arguement, if any, and then any CPU statements.
  42.        The last one selects the which subset of the instructions
  43.        the assembler will accept.  The instruction set can be
  44.        changed at any place in the source file.
  45.  
  46.             Instruction Set          Substrings
  47.             64180                    180
  48.             z80                      z80 Z80
  49.             8085                     85
  50.             8080                     80
  51.  
  52.        A.2  Instructions
  53.  
  54.        A.2.1  Instruction_List
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.        Opcode   Syntax                       Selection Criteria
  75.  
  76.  
  77.        ADC       dreg ',' dreg               TSZ80PLUS|DRDESTHL|DRBC
  78.        ADC       dreg ',' dreg               TSZ80PLUS|DRDESTHL|DRDE
  79.        ADC       dreg ',' dreg               TSZ80PLUS|DRDESTHL|DRHL
  80.        ADC       dreg ',' dreg               TSZ80PLUS|DRDESTHL|DRSP
  81.        ADC       reg8 ',' '(' DREGHL ')'     REGISA
  82.        ADC       reg8 ',' index              TSZ80PLUS|DRIX|REGISA
  83.        ADC       reg8 ',' index              TSZ80PLUS|DRIY|REGISA
  84.        ADC       reg8 ',' reg8               0|REGISA
  85.        ADC       reg8 ',' topexpr            REGISA
  86.  
  87.        ADD       dreg ',' dreg               DRDESTHL|DRBC
  88.        ADD       dreg ',' dreg               DRDESTHL|DRDE
  89.        ADD       dreg ',' dreg               DRDESTHL|DRHL
  90.        ADD       dreg ',' dreg               DRDESTHL|DRSP
  91.        ADD       dreg ',' dreg               TSZ80PLUS|DRDESTIX|DRBC
  92.        ADD       dreg ',' dreg               TSZ80PLUS|DRDESTIX|DRDE
  93.        ADD       dreg ',' dreg               TSZ80PLUS|DRDESTIX|DRIX
  94.        ADD       dreg ',' dreg               TSZ80PLUS|DRDESTIX|DRSP
  95.        ADD       dreg ',' dreg               TSZ80PLUS|DRDESTIY|DRBC
  96.        ADD       dreg ',' dreg               TSZ80PLUS|DRDESTIY|DRDE
  97.        ADD       dreg ',' dreg               TSZ80PLUS|DRDESTIY|DRIY
  98.        ADD       dreg ',' dreg               TSZ80PLUS|DRDESTIY|DRSP
  99.        ADD       reg8 ',' '(' DREGHL ')'     REGISA
  100.        ADD       reg8 ',' index              TSZ80PLUS|DRIX|REGISA
  101.        ADD       reg8 ',' index              TSZ80PLUS|DRIY|REGISA
  102.        ADD       reg8 ',' reg8               0|REGISA
  103.        ADD       reg8 ',' topexpr            REGISA
  104.  
  105.        AND       '(' DREGHL ')'
  106.        AND       index                       TSZ80PLUS|DRIX
  107.        AND       index                       TSZ80PLUS|DRIY
  108.        AND       reg8
  109.        AND       topexpr
  110.  
  111.        BIT       expr ',' '(' DREGHL ')'     TSZ80PLUS
  112.        BIT       expr ',' index              TSZ80PLUS|DRIX
  113.        BIT       expr ',' index              TSZ80PLUS|DRIY
  114.        BIT       expr ',' reg8               TSZ80PLUS
  115.  
  116.        CALL      condition ',' expr          CCSELC
  117.        CALL      condition ',' expr          CCSELM
  118.        CALL      condition ',' expr          CCSELNC
  119.        CALL      condition ',' expr          CCSELNZ
  120.        CALL      condition ',' expr          CCSELP
  121.        CALL      condition ',' expr          CCSELPE
  122.        CALL      condition ',' expr          CCSELPO
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.        Opcode   Syntax                       Selection Criteria
  141.  
  142.        CALL      condition ',' expr          CCSELZ
  143.        CALL      expr
  144.  
  145.        CCF
  146.  
  147.        CP        '(' DREGHL ')'
  148.        CP        index                       TSZ80PLUS|DRIX
  149.        CP        index                       TSZ80PLUS|DRIY
  150.        CP        reg8
  151.        CP        topexpr
  152.  
  153.        CPD                                   TSZ80PLUS
  154.  
  155.        CPDR                                  TSZ80PLUS
  156.  
  157.        CPI                                   TSZ80PLUS
  158.  
  159.        CPIR                                  TSZ80PLUS
  160.  
  161.        CPL
  162.  
  163.        DAA
  164.  
  165.        DEC       '(' DREGHL ')'
  166.        DEC       dreg                        DRBC
  167.        DEC       dreg                        DRDE
  168.        DEC       dreg                        DRHL
  169.        DEC       dreg                        DRSP
  170.        DEC       dreg                        TSZ80PLUS|DRIX
  171.        DEC       dreg                        TSZ80PLUS|DRIY
  172.        DEC       index                       TSZ80PLUS|DRIX
  173.        DEC       index                       TSZ80PLUS|DRIY
  174.        DEC       reg8
  175.  
  176.        DI
  177.  
  178.        DJNZ      topexpr
  179.  
  180.        EI
  181.  
  182.        EX        '(' DREGSP ')' ',' dreg     DRHL
  183.        EX        '(' DREGSP ')' ',' dreg     TSZ80PLUS|DRIX
  184.        EX        '(' DREGSP ')' ',' dreg     TSZ80PLUS|DRIY
  185.        EX        dreg ',' dreg               EX1DE|EX2HL
  186.        EX        dreg ',' dreg               TSZ80PLUS|EX1AF|EX2AF
  187.  
  188.        EXX                                   TSZ80PLUS
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.        Opcode   Syntax                       Selection Criteria
  207.  
  208.  
  209.        HALT
  210.  
  211.        IM        expr                        TSZ80PLUS|INTSETMODE0
  212.        IM        expr                        TSZ80PLUS|INTSETMODE1
  213.        IM        expr                        TSZ80PLUS|INTSETMODE2
  214.  
  215.        IN0       reg8 ',' '(' topexpr ')'    TS64180
  216.  
  217.        IN        reg8 ',' '(' REGC ')'       TSZ80PLUS
  218.        IN        reg8 ',' '(' topexpr ')'    REGISA
  219.  
  220.        INC       '(' DREGHL ')'
  221.        INC       dreg                        DRBC
  222.        INC       dreg                        DRDE
  223.        INC       dreg                        DRHL
  224.        INC       dreg                        DRSP
  225.        INC       dreg                        TSZ80PLUS|DRIX
  226.        INC       dreg                        TSZ80PLUS|DRIY
  227.        INC       index                       TSZ80PLUS|DRIX
  228.        INC       index                       TSZ80PLUS|DRIY
  229.        INC       reg8
  230.  
  231.        IND                                   TSZ80PLUS
  232.  
  233.        INDR                                  TSZ80PLUS
  234.  
  235.        INI                                   TSZ80PLUS
  236.  
  237.        INIR                                  TSZ80PLUS
  238.  
  239.        JP        '(' dreg ')'                DRHL
  240.        JP        '(' dreg ')'                TSZ80PLUS|DRIX
  241.        JP        '(' dreg ')'                TSZ80PLUS|DRIY
  242.        JP        condition ',' expr          CCSELC
  243.        JP        condition ',' expr          CCSELM
  244.        JP        condition ',' expr          CCSELNC
  245.        JP        condition ',' expr          CCSELNZ
  246.        JP        condition ',' expr          CCSELP
  247.        JP        condition ',' expr          CCSELPE
  248.        JP        condition ',' expr          CCSELPO
  249.        JP        condition ',' expr          CCSELZ
  250.        JP        expr
  251.  
  252.        JR